Xceed .NET Libraries Documentation
Xceed.Compression Assembly / Xceed.Compression Namespace / ManagedPPMdCompressor Class / Compress Method / Compress(Byte[],Int32,Int32,Boolean,Byte[]) Method
An array of bytes to compress. A maximum of count bytes are taken from this array and compressed. Cannot be null.
The byte offset in buffer at which to begin taking the data to compress. Cannot be less than 0.
The maximum number of bytes to be taken from buffer. Cannot be less than 0.
Indicates if this call ends the stream of data to compress.
An array of bytes containing the compressed data. Can be empty.


In This Topic
    Compress(Byte[],Int32,Int32,Boolean,Byte[]) Method
    In This Topic
    Compresses an array of bytes to an array of bytes.
    Syntax
    'Declaration
     
    
    Public Overloads Overrides Function Compress( _
       ByVal buffer() As Byte, _
       ByVal offset As Integer, _
       ByVal count As Integer, _
       ByVal endOfData As Boolean, _
       ByRef compressed() As Byte _
    ) As Integer
    'Usage
     
    
    Dim instance As ManagedPPMdCompressor
    Dim buffer() As Byte
    Dim offset As Integer
    Dim count As Integer
    Dim endOfData As Boolean
    Dim compressed() As Byte
    Dim value As Integer
     
    value = instance.Compress(buffer, offset, count, endOfData, compressed)
    public override int Compress( 
       byte[] buffer,
       int offset,
       int count,
       bool endOfData,
       out byte[] compressed
    )

    Parameters

    buffer
    An array of bytes to compress. A maximum of count bytes are taken from this array and compressed. Cannot be null.
    offset
    The byte offset in buffer at which to begin taking the data to compress. Cannot be less than 0.
    count
    The maximum number of bytes to be taken from buffer. Cannot be less than 0.
    endOfData
    Indicates if this call ends the stream of data to compress.
    compressed
    An array of bytes containing the compressed data. Can be empty.

    Return Value

    A value representing the length of the compressed stream.
    Remarks
    When the first call to Compress is made, a compression "session" is created. This session remains opened as long as Compress is called with the parameter endOfData set to False.

    During a compression session, the compression engine can choose to keep the data to compress in an internal buffer and return an empty array after a call to Compress. Many compression algorithms do this to get optimum compression by examining a certain number of bytes before compressing anything.

    A call to Compress with an empty buffer or a count of zero tells the compression engine to flush its internal buffer and return the compressed data. This may degrade the compression ratio.

    When Compress is called with the parameter endOfData set to True, the compression session is closed and all of the remaining compressed data is returned. The next call to Compress will create a new compression session.

    The compressed array may have a Length greater than the number of bytes returned by the call to Compress.

    Supported Frameworks

    .NET: net5.0, net5.0-windows, net6.0, net6.0-macos, net6.0-windows, net7.0, net7.0-macos, net7.0-windows, net8.0, net8.0-browser, net8.0-macos, net8.0-windows, net9.0, net9.0-browser, net9.0-macos, net9.0-windows, net10.0, net10.0-browser, net10.0-macos, net10.0-windows.

    .NET Standard: netstandard2.0, netstandard2.1

    .NET Framework: net20, net35, net40, net403, net45, net451, net452, net46, net461, net462, net463, net47, net471, net472, net48, net481.

    See Also